;(function($){  
    $.extend({
    	/**
    	 * 弹窗图片
    	 */
    	"show_img":function(_src,_offset){
    		if(!_offset){
    			_offset=['20%', '20%'];
    		}
    		layer.open({
				type:1,
				title:false,
				shadeClose:true,
				closeBtn:0,
//				skin:_class,
				offset: _offset,
				content:"<img src='"+_src+"'>"
			});
    	},
    	/**
    	 * 前端弹窗
    	 * @param   param	参数对象 	
    	 * type 	弹窗类别		1：普通弹窗，2：成功弹窗，3：警告弹窗，4：错误弹窗
    	 * msg	       弹窗文字	
    	 * time    	弹窗持续时间
    	 * fn		回调函数
    	 */
    	"_msg":function(param){
    		var c='';		//弹窗样式类
    		var m='提示';		//弹窗文字
    		var t=2000;	//弹窗持续时间
    		var fn=null;
    		if(param!=undefined){
    			if(typeof param == 'string'){
    				m=param;
    			}else{
    				switch(param['type']){
						case 1:
							c='<i style="color:#d8d8d8" class="weui-icon-info-circle weui-icon_msg weui-icon_toast""></i>';
						break;
						case 2:
							c='<i class="weui-icon-success weui-icon_msg weui-icon_toast""></i>';
						break;
						case 3:
							c='<i class="weui-icon-warn weui-icon_msg weui-icon_toast""></i>';
						break;
						case 4:
							c='<i class="weui-icon-cancel weui-icon_msg weui-icon_toast""></i>';
						break;
						default:
							c='';
					}
					m	= !param['msg'] ? '提示' : param['msg'];
					t 	= !param['time'] ? 2000 : param['time'];
	    			fn 	= !param['fn'] ? null : param['fn'];	
    			}
    		}
    		$('body').remove('#toast');
    		var _win='<div id="toast" style="display:none">'+
			        '<div class="weui-mask_transparent"></div>'+
				        '<div class="weui-toast" style="line-height:1.5rem;">'+c+
				            '<p class="weui-toast__content" style="color:#fff;">'+m+'</p>'+
				        '</div>'+
				    '</div>';
			$('body').append(_win);
			$('#toast').fadeIn(100,function(){
				param=[];
				$('body').remove('#toast');
			});
			setTimeout(function () {
				if(fn){
					$('#toast').fadeOut(100,fn());	
				}else{
					$('#toast').fadeOut(100);
				}
            }, t);
    	},
    	"layer_msg":function(_msg,_type,_time,_fn){
    		switch(_type){
				case 1:
					c='<i style="color:#d8d8d8" class="weui-icon-info-circle weui-icon_msg weui-icon_toast""></i>';
				break;
				case 2:
					c='<i class="weui-icon-success weui-icon_msg weui-icon_toast""></i>';
				break;
				case 3:
					c='<i class="weui-icon-warn weui-icon_msg weui-icon_toast""></i>';
				break;
				case 4:
					c='<i class="weui-icon-cancel weui-icon_msg weui-icon_toast""></i>';
				break;
				default:
					c='';
			}
    		var time=_time ? _time : 3000;
    		if(_fn && _fn!=undefined){
    			layer.open({
					content:c+'<div>'+_msg+'</div>',
					skin:'layer_msg',
					title:"",
					time:time,
					closeBtn:false,
					shade:false,
					btn:false,
					end:_fn
				});
    		}else{
    			layer.open({
					content:c+'<div>'+_msg+'</div>',
					skin:'layer_msg',
					title:"",
					time:time,
					closeBtn:false,
					shade:false,
					btn:false
				});
    		}
    	},
    	//将当前时间邮戳，友好显示成时间，参数：例如"yyyy-MM-dd hh:mm:ss"
        "nowFtime":function(fmt){
        	var _this=new Date()
        	var o = {
		        "M+" : _this.getMonth()+1,                 //月份 
		        "d+" : _this.getDate(),                    //日 
		        "h+" : _this.getHours(),                   //小时 
		        "m+" : _this.getMinutes(),                 //分 
		        "s+" : _this.getSeconds(),                 //秒 
		        "q+" : Math.floor((_this.getMonth()+3)/3), //季度 
		        "S"  : _this.getMilliseconds()             //毫秒 
		    }; 
	    if(/(y+)/.test(fmt)) {
	        fmt=fmt.replace(RegExp.$1, (_this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
	    }
	    for(var k in o) {
	        if(new RegExp("("+ k +")").test(fmt)){
	            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
	        }
	    }
	    return fmt;
        },
        /**
         * 将bytes值转换成可识别单位
         * @param {Object} bytes	文件的bytes值
         */
        bytesToSize:function(bytes){
        	if (bytes === 0) return '0 B';
		    var k = 1000, // or 1024
		        sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
		        i = Math.floor(Math.log(bytes) / Math.log(k));
		 
		   return (bytes / Math.pow(k, i)).toPrecision(3) + ' ' + sizes[i];
        },
        myTime: {
	      curTime: function(){	//显示当前时间邮戳
	        return Date.parse(new Date())/1000;
	      },
	      /**       
	       * 日期 转换为 Unix时间戳
	       * @param <string> 2014-01-01 20:20:20 日期格式       
	       * @return <int>    unix时间戳(秒)       
	       */
	      dateToUnix: function(string) {
	        var f = string.split(' ', 2);
	        var d = (f[0] ? f[0] : '').split('-', 3);
	        var t = (f[1] ? f[1] : '').split(':', 3);
	        return (new Date(
	            parseInt(d[0], 10) || null,
	            (parseInt(d[1], 10) || 1) - 1,
	            parseInt(d[2], 10) || null,
	            parseInt(t[0], 10) || null,
	            parseInt(t[1], 10) || null,
	            parseInt(t[2], 10) || null
	            )).getTime() / 1000;
	      },
	      /**       
	       * 时间戳转换日期       
	       * @param <int> unixTime  待时间戳(秒)       
	       * @param <bool> isFull  返回完整时间(Y-m-d 或者 Y-m-d H:i:s)       
	       * @param <int> timeZone  时区       
	       */
	      formTime: function(unixTime, isFull, timeZone) {
	        if (typeof (timeZone) == 'number'){
	          unixTime = parseInt(unixTime) + parseInt(timeZone) * 60 * 60;
	        }
	        var time = new Date(unixTime * 1000);
	        var ymdhis = "";
	        ymdhis += time.getUTCFullYear() + "-";
	        ymdhis += (time.getUTCMonth()+1) + "-";
	        ymdhis += time.getUTCDate();
	        if (isFull === true)
	        {
	          ymdhis += " " + time.getUTCHours() + ":";
	          ymdhis += time.getUTCMinutes() + ":";
	          ymdhis += time.getUTCSeconds();
	        }
	        return ymdhis;
	      }
	    },
	    /**
		 * parent		父元素的id或class
		 * child    	直接子元素的类名或标签名
		 * mb			容差值。默认20
		 * call_back	触发回调函数	page第几页 next处理结果的回调函数
		 */
	    scroll_load:function (parent,child,call_back,mb){
		//触发条件：最后一个子元素距离屏幕的绝对高度(top)+该元素自身的高度 <= 父元素距离屏幕的绝对高度+该父元素自身的高度+容差值(20)
			$(parent).scroll(function(){
				var _t=$(this).offset().top;		//父元素距离屏幕顶部绝对高度	
		     	var _h=$(this).innerHeight();		//父元素自身的内部高度
		     	
		     	var c=$(this).children(child+":last-child");
				var c_t=c.offset().top;				//最后一个子元素距离屏幕的绝对高度
				var c_h=c.outerHeight();			//该子元素的自身外部高度
				var _mb= mb ? mb : 20;
				if((c_t + c_h) <= (_t+_h+_mb)){
					call_back($(this));
				}
			});
		}
    });  
})(jQuery);